{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 12 读取数据和简单的数据探索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn import datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "iris = datasets.load_iris()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module'])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      ".. _iris_dataset:\n",
      "\n",
      "Iris plants dataset\n",
      "--------------------\n",
      "\n",
      "**Data Set Characteristics:**\n",
      "\n",
      ":Number of Instances: 150 (50 in each of three classes)\n",
      ":Number of Attributes: 4 numeric, predictive attributes and the class\n",
      ":Attribute Information:\n",
      "    - sepal length in cm\n",
      "    - sepal width in cm\n",
      "    - petal length in cm\n",
      "    - petal width in cm\n",
      "    - class:\n",
      "            - Iris-Setosa\n",
      "            - Iris-Versicolour\n",
      "            - Iris-Virginica\n",
      "\n",
      ":Summary Statistics:\n",
      "\n",
      "============== ==== ==== ======= ===== ====================\n",
      "                Min  Max   Mean    SD   Class Correlation\n",
      "============== ==== ==== ======= ===== ====================\n",
      "sepal length:   4.3  7.9   5.84   0.83    0.7826\n",
      "sepal width:    2.0  4.4   3.05   0.43   -0.4194\n",
      "petal length:   1.0  6.9   3.76   1.76    0.9490  (high!)\n",
      "petal width:    0.1  2.5   1.20   0.76    0.9565  (high!)\n",
      "============== ==== ==== ======= ===== ====================\n",
      "\n",
      ":Missing Attribute Values: None\n",
      ":Class Distribution: 33.3% for each of 3 classes.\n",
      ":Creator: R.A. Fisher\n",
      ":Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\n",
      ":Date: July, 1988\n",
      "\n",
      "The famous Iris database, first used by Sir R.A. Fisher. The dataset is taken\n",
      "from Fisher's paper. Note that it's the same as in R, but not as in the UCI\n",
      "Machine Learning Repository, which has two wrong data points.\n",
      "\n",
      "This is perhaps the best known database to be found in the\n",
      "pattern recognition literature.  Fisher's paper is a classic in the field and\n",
      "is referenced frequently to this day.  (See Duda & Hart, for example.)  The\n",
      "data set contains 3 classes of 50 instances each, where each class refers to a\n",
      "type of iris plant.  One class is linearly separable from the other 2; the\n",
      "latter are NOT linearly separable from each other.\n",
      "\n",
      ".. dropdown:: References\n",
      "\n",
      "  - Fisher, R.A. \"The use of multiple measurements in taxonomic problems\"\n",
      "    Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\n",
      "    Mathematical Statistics\" (John Wiley, NY, 1950).\n",
      "  - Duda, R.O., & Hart, P.E. (1973) Pattern Classification and Scene Analysis.\n",
      "    (Q327.D83) John Wiley & Sons.  ISBN 0-471-22361-1.  See page 218.\n",
      "  - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\n",
      "    Structure and Classification Rule for Recognition in Partially Exposed\n",
      "    Environments\".  IEEE Transactions on Pattern Analysis and Machine\n",
      "    Intelligence, Vol. PAMI-2, No. 1, 67-71.\n",
      "  - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\".  IEEE Transactions\n",
      "    on Information Theory, May 1972, 431-433.\n",
      "  - See also: 1988 MLC Proceedings, 54-64.  Cheeseman et al\"s AUTOCLASS II\n",
      "    conceptual clustering system finds 3 classes in the data.\n",
      "  - Many, many more ...\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(iris.DESCR)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[5.1, 3.5, 1.4, 0.2],\n",
       "       [4.9, 3. , 1.4, 0.2],\n",
       "       [4.7, 3.2, 1.3, 0.2],\n",
       "       [4.6, 3.1, 1.5, 0.2],\n",
       "       [5. , 3.6, 1.4, 0.2],\n",
       "       [5.4, 3.9, 1.7, 0.4],\n",
       "       [4.6, 3.4, 1.4, 0.3],\n",
       "       [5. , 3.4, 1.5, 0.2],\n",
       "       [4.4, 2.9, 1.4, 0.2],\n",
       "       [4.9, 3.1, 1.5, 0.1],\n",
       "       [5.4, 3.7, 1.5, 0.2],\n",
       "       [4.8, 3.4, 1.6, 0.2],\n",
       "       [4.8, 3. , 1.4, 0.1],\n",
       "       [4.3, 3. , 1.1, 0.1],\n",
       "       [5.8, 4. , 1.2, 0.2],\n",
       "       [5.7, 4.4, 1.5, 0.4],\n",
       "       [5.4, 3.9, 1.3, 0.4],\n",
       "       [5.1, 3.5, 1.4, 0.3],\n",
       "       [5.7, 3.8, 1.7, 0.3],\n",
       "       [5.1, 3.8, 1.5, 0.3],\n",
       "       [5.4, 3.4, 1.7, 0.2],\n",
       "       [5.1, 3.7, 1.5, 0.4],\n",
       "       [4.6, 3.6, 1. , 0.2],\n",
       "       [5.1, 3.3, 1.7, 0.5],\n",
       "       [4.8, 3.4, 1.9, 0.2],\n",
       "       [5. , 3. , 1.6, 0.2],\n",
       "       [5. , 3.4, 1.6, 0.4],\n",
       "       [5.2, 3.5, 1.5, 0.2],\n",
       "       [5.2, 3.4, 1.4, 0.2],\n",
       "       [4.7, 3.2, 1.6, 0.2],\n",
       "       [4.8, 3.1, 1.6, 0.2],\n",
       "       [5.4, 3.4, 1.5, 0.4],\n",
       "       [5.2, 4.1, 1.5, 0.1],\n",
       "       [5.5, 4.2, 1.4, 0.2],\n",
       "       [4.9, 3.1, 1.5, 0.2],\n",
       "       [5. , 3.2, 1.2, 0.2],\n",
       "       [5.5, 3.5, 1.3, 0.2],\n",
       "       [4.9, 3.6, 1.4, 0.1],\n",
       "       [4.4, 3. , 1.3, 0.2],\n",
       "       [5.1, 3.4, 1.5, 0.2],\n",
       "       [5. , 3.5, 1.3, 0.3],\n",
       "       [4.5, 2.3, 1.3, 0.3],\n",
       "       [4.4, 3.2, 1.3, 0.2],\n",
       "       [5. , 3.5, 1.6, 0.6],\n",
       "       [5.1, 3.8, 1.9, 0.4],\n",
       "       [4.8, 3. , 1.4, 0.3],\n",
       "       [5.1, 3.8, 1.6, 0.2],\n",
       "       [4.6, 3.2, 1.4, 0.2],\n",
       "       [5.3, 3.7, 1.5, 0.2],\n",
       "       [5. , 3.3, 1.4, 0.2],\n",
       "       [7. , 3.2, 4.7, 1.4],\n",
       "       [6.4, 3.2, 4.5, 1.5],\n",
       "       [6.9, 3.1, 4.9, 1.5],\n",
       "       [5.5, 2.3, 4. , 1.3],\n",
       "       [6.5, 2.8, 4.6, 1.5],\n",
       "       [5.7, 2.8, 4.5, 1.3],\n",
       "       [6.3, 3.3, 4.7, 1.6],\n",
       "       [4.9, 2.4, 3.3, 1. ],\n",
       "       [6.6, 2.9, 4.6, 1.3],\n",
       "       [5.2, 2.7, 3.9, 1.4],\n",
       "       [5. , 2. , 3.5, 1. ],\n",
       "       [5.9, 3. , 4.2, 1.5],\n",
       "       [6. , 2.2, 4. , 1. ],\n",
       "       [6.1, 2.9, 4.7, 1.4],\n",
       "       [5.6, 2.9, 3.6, 1.3],\n",
       "       [6.7, 3.1, 4.4, 1.4],\n",
       "       [5.6, 3. , 4.5, 1.5],\n",
       "       [5.8, 2.7, 4.1, 1. ],\n",
       "       [6.2, 2.2, 4.5, 1.5],\n",
       "       [5.6, 2.5, 3.9, 1.1],\n",
       "       [5.9, 3.2, 4.8, 1.8],\n",
       "       [6.1, 2.8, 4. , 1.3],\n",
       "       [6.3, 2.5, 4.9, 1.5],\n",
       "       [6.1, 2.8, 4.7, 1.2],\n",
       "       [6.4, 2.9, 4.3, 1.3],\n",
       "       [6.6, 3. , 4.4, 1.4],\n",
       "       [6.8, 2.8, 4.8, 1.4],\n",
       "       [6.7, 3. , 5. , 1.7],\n",
       "       [6. , 2.9, 4.5, 1.5],\n",
       "       [5.7, 2.6, 3.5, 1. ],\n",
       "       [5.5, 2.4, 3.8, 1.1],\n",
       "       [5.5, 2.4, 3.7, 1. ],\n",
       "       [5.8, 2.7, 3.9, 1.2],\n",
       "       [6. , 2.7, 5.1, 1.6],\n",
       "       [5.4, 3. , 4.5, 1.5],\n",
       "       [6. , 3.4, 4.5, 1.6],\n",
       "       [6.7, 3.1, 4.7, 1.5],\n",
       "       [6.3, 2.3, 4.4, 1.3],\n",
       "       [5.6, 3. , 4.1, 1.3],\n",
       "       [5.5, 2.5, 4. , 1.3],\n",
       "       [5.5, 2.6, 4.4, 1.2],\n",
       "       [6.1, 3. , 4.6, 1.4],\n",
       "       [5.8, 2.6, 4. , 1.2],\n",
       "       [5. , 2.3, 3.3, 1. ],\n",
       "       [5.6, 2.7, 4.2, 1.3],\n",
       "       [5.7, 3. , 4.2, 1.2],\n",
       "       [5.7, 2.9, 4.2, 1.3],\n",
       "       [6.2, 2.9, 4.3, 1.3],\n",
       "       [5.1, 2.5, 3. , 1.1],\n",
       "       [5.7, 2.8, 4.1, 1.3],\n",
       "       [6.3, 3.3, 6. , 2.5],\n",
       "       [5.8, 2.7, 5.1, 1.9],\n",
       "       [7.1, 3. , 5.9, 2.1],\n",
       "       [6.3, 2.9, 5.6, 1.8],\n",
       "       [6.5, 3. , 5.8, 2.2],\n",
       "       [7.6, 3. , 6.6, 2.1],\n",
       "       [4.9, 2.5, 4.5, 1.7],\n",
       "       [7.3, 2.9, 6.3, 1.8],\n",
       "       [6.7, 2.5, 5.8, 1.8],\n",
       "       [7.2, 3.6, 6.1, 2.5],\n",
       "       [6.5, 3.2, 5.1, 2. ],\n",
       "       [6.4, 2.7, 5.3, 1.9],\n",
       "       [6.8, 3. , 5.5, 2.1],\n",
       "       [5.7, 2.5, 5. , 2. ],\n",
       "       [5.8, 2.8, 5.1, 2.4],\n",
       "       [6.4, 3.2, 5.3, 2.3],\n",
       "       [6.5, 3. , 5.5, 1.8],\n",
       "       [7.7, 3.8, 6.7, 2.2],\n",
       "       [7.7, 2.6, 6.9, 2.3],\n",
       "       [6. , 2.2, 5. , 1.5],\n",
       "       [6.9, 3.2, 5.7, 2.3],\n",
       "       [5.6, 2.8, 4.9, 2. ],\n",
       "       [7.7, 2.8, 6.7, 2. ],\n",
       "       [6.3, 2.7, 4.9, 1.8],\n",
       "       [6.7, 3.3, 5.7, 2.1],\n",
       "       [7.2, 3.2, 6. , 1.8],\n",
       "       [6.2, 2.8, 4.8, 1.8],\n",
       "       [6.1, 3. , 4.9, 1.8],\n",
       "       [6.4, 2.8, 5.6, 2.1],\n",
       "       [7.2, 3. , 5.8, 1.6],\n",
       "       [7.4, 2.8, 6.1, 1.9],\n",
       "       [7.9, 3.8, 6.4, 2. ],\n",
       "       [6.4, 2.8, 5.6, 2.2],\n",
       "       [6.3, 2.8, 5.1, 1.5],\n",
       "       [6.1, 2.6, 5.6, 1.4],\n",
       "       [7.7, 3. , 6.1, 2.3],\n",
       "       [6.3, 3.4, 5.6, 2.4],\n",
       "       [6.4, 3.1, 5.5, 1.8],\n",
       "       [6. , 3. , 4.8, 1.8],\n",
       "       [6.9, 3.1, 5.4, 2.1],\n",
       "       [6.7, 3.1, 5.6, 2.4],\n",
       "       [6.9, 3.1, 5.1, 2.3],\n",
       "       [5.8, 2.7, 5.1, 1.9],\n",
       "       [6.8, 3.2, 5.9, 2.3],\n",
       "       [6.7, 3.3, 5.7, 2.5],\n",
       "       [6.7, 3. , 5.2, 2.3],\n",
       "       [6.3, 2.5, 5. , 1.9],\n",
       "       [6.5, 3. , 5.2, 2. ],\n",
       "       [6.2, 3.4, 5.4, 2.3],\n",
       "       [5.9, 3. , 5.1, 1.8]])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(150, 4)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['sepal length (cm)',\n",
       " 'sepal width (cm)',\n",
       " 'petal length (cm)',\n",
       " 'petal width (cm)']"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.feature_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
       "       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
       "       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(150,)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['setosa', 'versicolor', 'virginica'], dtype='<U10')"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = iris.data[:,:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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tddesz744APr6NGj1lNPPWVJsqqrq33orXM//OEPrZqaGuvDDz+09u3bZ91zzz1WZmam1dDQYFlW/3F/+OGH1ujRo62VK1dadXV11osvvmiNGDHC+o//+A+/huCY3bGHZc7feecdKy0tzXrmmWeskydPWv/2b/9mjR492qqqquppE9Z5dzL2sMy7ZVlWZ2endc0111irV6/u929hnXPLsjfuMM33gw8+aP3lX/6l9Z//+Z9WfX29tWXLFusv/uIvrCeffLKnTTLmnYLEZX0LkgcffND6xje+0fPzs88+a1133XVWRkaGddVVV1kzZ860Xn/9de87Okzf+c53rNzcXGvEiBHWhAkTrG9961vWsWPHev6977gty7Jqamqs6dOnWyNHjrQmTZpkrV+/3uNeu8Pu2MMy55ZlWdu2bbOKioqs9PR0a+rUqdbGjRt7/XuY593u2MM072+88YYlyTpx4kS/fwvznNsZd5jmu7W11VqxYoV1zTXXWBkZGdbkyZOtH/3oR1ZbW1tPm2TMe8yyLMvGJzkAAACu4xkSAADgOwoSAADgOwoSAADgOwoSAADgOwoSAADgOwoSAADgOwoSAADgOwoSAADgOwoSAADgOwoSAADgOwoSAADgOwoSAADgu/8PwNEPuM2cOG0AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:,0], X[:,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "y = iris.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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FRWpoqJiwHMyMu4Whuzo0aPW1KlTrW3btllf/vKXrYqKipRlt2/fbkmyPvroI9faNxy+973vWV/4whfSLl9dXW1Nnz496di3v/1ta968eRlu2fCz2/egjPnatWutyy67zNY5QRl3J30Pyrj3VVFRYZWWllqnTp0a8PWgjHlfZ+p3kMZ78eLF1u233550rLy83PrGN76R8pxMjDu3bDJg5cqVWrx4sa688sq0z5k9e7aKi4u1YMECbd++fRhbN3wOHjyoiRMnasqUKbrxxhv17rvvpiy7a9cuLVy4MOnY1Vdfrd27d+vEiRPD3dSMs9P3BL+P+datWzV37lx97Wtf0/jx4zV79mw98sgjg54TlHF30vcEv4/76Xp6erR582bdfvvtKROdBmXMT5dOvxOCMN6XXXaZXnzxRb3zzjuSpDfeeEMvvfSSFi1alPKcTIw7AckQbdmyRa+99ppqa2vTKl9cXKxNmzapsbFR0WhU06ZN04IFC7Rz585hbmlm/cVf/IWeeOIJPf/883rkkUfU0dGhSy+9VH/4wx8GLN/R0aEJEyYkHZswYYJOnjypDz/80I0mZ4zdvgdlzN9991099NBDmjp1qp5//nktX75cd999t5544omU5wRl3J30PSjjfrqnn35af/zjH7Vs2bKUZYIy5qdLp99BGu+1a9fq61//uqZPn67c3FzNnj1bq1at0te//vWU52Rk3O39kIPTHT582Bo/frz1+uuv9x470y2bgVx77bXWV7/61Qy3zl0ff/yxNWHCBOuf//mfB3x96tSp1g9+8IOkYy+99JIlyWpvb3ejicPmTH0fiB/HPDc315o/f37SsbvuumvQn2SDMu5O+j4QP4776RYuXGhde+21g5YJypifLp1+D8Sv4/3kk09akUjEevLJJ60333zTeuKJJ6yxY8da//Zv/5bynEyMO7+QDMGrr76qI0eOaM6cOcrJyVFOTo527NihBx98UDk5OUkTogYzb948HTx4cJhbO7zGjBmjiy66KGU/zj33XHV0dCQdO3LkiHJycjRu3Dg3mjhsztT3gfhxzIuLizVjxoykYxdeeKEOHz6c8pygjLuTvg/Ej+Oe8P777+sXv/iFvvnNbw5aLihjnpBuvwfi1/GuqqrSPffcoxtvvFEXXXSRbr75Zq1evXrQOwGZGHcCkiFYsGCB9u7dq9dff733MXfuXN100016/fXX01p5IUl79uxRcXHxMLd2eHV3d2v//v0p+zF//nxt27Yt6dgLL7yguXPnKjc3140mDpsz9X0gfhzzL33pSzpw4EDSsXfeeUfnn39+ynOCMu5O+j4QP457wuOPP67x48dr8eLFg5YLypgnpNvvgfh1vI8dO6YRI5LDg3A4POiy34yM+5B+10E/fW/Z3HPPPdbNN9/c+/xf/uVfrKeeesp65513rN/85jfWPffcY0myGhsbPWitc3/3d39nNTU1We+++6718ssvW9dee61VUFBgvffee5Zl9e/3u+++a40ePdpavXq1tW/fPuvRRx+1cnNzrYaGBq+64JjdvgdlzH/9619bOTk51ve//33r4MGD1n/8x39Yo0ePtjZv3txbJqjj7qTvQRl3y7KsWCxmnXfeedbatWv7vRbUMbcse/0O0njfeuut1qRJk6z//u//tg4dOmRFo1Hr85//vFVdXd1bZjjGnYAkw/oGJLfeeqv15S9/uff5/fffb5WWllojR460Pve5z1mXXXaZ9eyzz7rf0CH667/+a6u4uNjKzc21Jk6caJWXl1tvvfVW7+t9+21ZltXU1GTNnj3bysvLsyZPnmw99NBDLrc6M+z2PShjblmW9cwzz1izZs2y8vPzrenTp1ubNm1Kej3I426370Ea9+eff96SZB04cKDfa0Eeczv9DtJ4d3V1WRUVFdZ5551njRw50rrgggus73znO1Z3d3dvmeEY95BlWZaNX3IAAAAyjjkkAADAcwQkAADAcwQkAADAcwQkAADAcwQkAADAcwQkAADAcwQkAADAcwQkAADAcwQkAADAcwQkAADAcwQkAADAcwQkAADAc/8fz2MwrhS6J/gAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1], color=\"red\")\n",
    "plt.scatter(X[y==1,0], X[y==1,1], color=\"blue\")\n",
    "plt.scatter(X[y==2,0], X[y==2,1], color=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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//vf68MPP5Qk/fGPf9TOnTs1f/78btdJxrxTkPTRs88+q3fffVfFxcUJLZ+bm6sNGzaopKREpaWlGjdunObOnavXX389xT1NrqlTp+qpp57SK6+8okcffVTHjh3TjBkz9H//939dLn/s2DHl5OTEteXk5Ki5uVmfffaZHV1OGrNj98ucl5WV6ZFHHtHYsWP1yiuvaPHixbrrrrv01FNPdbuOX+bdytj9Mu8d/frXv9aJEyd08803d7uMX+a8o0TG7af5Xr16tb75zW9q/Pjx6t+/vyZNmqTly5frm9/8ZrfrJGXezR3IQUfl5eVGdna28d5777W19faVTVeuvvpq45prrkly7+xVX19v5OTkGP/5n//Z5etjx441/uM//iOubefOnYYko6qqyo4upkxvY++KF+e8f//+xvTp0+Pa7rzzzh4Pyfpl3q2MvStenPeOLr/8cuPqq6/ucRm/zHlHiYy7K16d72eeecbIy8sznnnmGeP99983nnrqKePss882nnjiiW7XSca8c4SkD9555x3V1NRo8uTJyszMVGZmpnbs2KGHHnpImZmZcSdE9WTatGk6fPhwinubWkOGDNEFF1zQ7TjOOeccHTt2LK6tpqZGmZmZGj58uB1dTJnext4VL855bm6uzj///Li2L33pSyovL+92Hb/Mu5Wxd8WL897qk08+0e9+9zt997vf7XE5v8x5q0TH3RWvzvc999yje++9V9/4xjd0wQUXqKioSCtWrOjxm4BkzDsFSR/MnTtX+/bt03vvvdf2mDJlir71rW/pvffeS+jKC0nau3evcnNzU9zb1GpsbNSBAwe6Hcf06dP16quvxrVt375dU6ZMUf/+/e3oYsr0NvaueHHOL774Yh06dCiu7cMPP9R5553X7Tp+mXcrY++KF+e91eOPP67s7GxdddVVPS7nlzlvlei4u+LV+f7888/Vr198eZCRkdHjZb9Jmfc+HddBJ6d/ZXPvvfcaRUVFbc9/9rOfGVu2bDE+/PBDY//+/ca9995rSDJKSkoc6K11//RP/2SEw2GjrKzMePvtt42rr77ayMrKMj7++GPDMDqPu6yszBg8eLCxYsUK409/+pOxceNGo3///sYLL7zg1BAsMzt2v8z5//zP/xiZmZnGD3/4Q+Pw4cPG008/bQwePNjYvHlz2zJ+nXcrY/fLvBuGYbS0tBjnnnuusXr16k6v+XXODcPcuP0034sWLTJGjRplvPTSS8aRI0eM0tJS42/+5m+MVatWtS2TinmnIEmy0wuSRYsWGbNnz257/uMf/9gYM2aMMWjQIOOss84yZs6cafz2t7+1v6N9dOONNxq5ublG//79jZEjRxoLFy40Pvjgg7bXTx+3YRhGOBw2Jk2aZAwYMMDIz883HnnkEZt7nRxmx+6XOTcMw/jNb35jTJw40Rg4cKAxfvx4Y8OGDXGv+3nezY7dT/P+yiuvGJKMQ4cOdXrNz3NuZtx+mu/a2lpj2bJlxrnnnmsMGjTIKCgoMP75n//ZaGxsbFsmFfMeMAzDMHEkBwAAIOk4hwQAADiOggQAADiOggQAADiOggQAADiOggQAADiOggQAADiOggQAADiOggQAADiOggQAADiOggQAADiOggQAADiOggQAADju/wMYHjDUNC8TMwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1], color=\"red\", marker=\"o\")\n",
    "plt.scatter(X[y==1,0], X[y==1,1], color=\"blue\", marker=\"+\")\n",
    "plt.scatter(X[y==2,0], X[y==2,1], color=\"green\", marker=\"x\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "关于marker参数：[http://matplotlib.org/1.4.2/api/markers_api.html](http://matplotlib.org/1.4.2/api/markers_api.html)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = iris.data[:,2:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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rVNra6u2bNkiyT+1d9q0abrvvvv0ox/9SPv27dPq1av1yiuv6K677orqmBcvXtRnn32mnJycsI+DYtXZ2ani4mI1NzczSydKXLPYcL1ixzWLDdcrdlyz2Fi5Xj6fT+fPn1dhYaFGjAg9MiSmOyOSdPfdd+vzzz/Xz372M7W1tWnatGnatWuXxo0bJ0lqa2sLeOfIhAkTtGvXLj388MP69a9/rcLCQj3zzDNRFyKSNGLECBUVFcXa1ajl5ubyL2SMuGax4XrFjmsWG65X7LhmsYn3eoW7IzLAEam9duH9JbHjmsWG6xU7rllsuF6x45rFZjiuF9k0AADAqLQuRrKysvTP//zPATN3EB7XLDZcr9hxzWLD9Yod1yw2w3G90voxDQAAMC+t74wAAADzKEYAAIBRFCMAAMAoihEAAGBU2hYje/bs0dKlS1VYWCiXy6XXX3/ddJeSVnV1tcrKypSTk6O8vDwtX75cx44dM92tpLZx40bdfPPNgy8JmjNnjt566y3T3XKM6upquVwuPfTQQ6a7krT+5V/+RS6XK2C54YYbTHcrqbW2turv//7vNXbsWF111VX6+te/roMHD5ruVtIaP378kH/HXC6X1qxZk/BjpW0x0t3drenTp2v9+vWmu5L0GhsbtWbNGr3//vuqr69XX1+fFi9erO7ubtNdS1pFRUX65S9/qQMHDujAgQP6m7/5Gy1btkxHjhwx3bWk19TUpJqaGt18882mu5L0SktL1dbWNrh89NFHpruUtL744gvddtttGjlypN566y0dPXpU//Ef/6ExY8aY7lrSampqCvj3q76+XpL0ne98J+HHivl18KmisrJSlZWVprvhCL/97W8DPtfW1iovL08HDx7UvHnzDPUquS1dujTg87/+679q48aNev/991VaWmqoV8mvq6tL3//+9/Xcc8/p5z//uenuJL3MzEzuhkTp3/7t31RcXKza2trBdePHjzfXIQe4/vrrAz7/8pe/1KRJkzR//vyEHytt74wgfl6vV5J07bXXGu6JM/T39+vVV19Vd3e35syZY7o7SW3NmjW6/fbb9Y1vfMN0Vxzh+PHjKiws1IQJE/S9731PJ06cMN2lpLVz507NmjVL3/nOd5SXl6dbbrlFzz33nOluOUZvb69efvll/fCHP0xoYO0AihHExOfzqaqqSuXl5Zo2bZrp7iS1jz76SNdcc42ysrK0evVqbd++XVOnTjXdraT16quv6n/+539UXV1tuiuOMHv2bG3ZskVvv/22nnvuObW3t2vu3Ln6/PPPTXctKZ04cUIbN27U5MmT9fbbb2v16tV64IEHBhPmEd7rr7+uc+fOadWqVbbsP20f0yA+a9eu1R/+8Aft3bvXdFeS3pQpU/Thhx/q3Llzqqur08qVK9XY2EhBEkRzc7MefPBBvfPOO8rOzjbdHUe4/DHz1772Nc2ZM0eTJk3Siy++qKqqKoM9S04XL17UrFmz9Itf/EKSdMstt+jIkSPauHGjfvCDHxjuXfLbvHmzKisrVVhYaMv+uTOCqN1///3auXOndu/eraKiItPdSXqjRo3SX/3VX2nWrFmqrq7W9OnT9fTTT5vuVlI6ePCgOjo6NHPmTGVmZiozM1ONjY165plnlJmZqf7+ftNdTHpXX321vva1r+n48eOmu5KUCgoKhvyHwE033SSPx2OoR87xpz/9Sf/1X/+lf/zHf7TtGNwZQUQ+n0/333+/tm/froaGBk2YMMF0lxzJ5/Opp6fHdDeS0qJFi4bMBLn33nv11a9+VY899pgyMjIM9cw5enp69PHHH6uiosJ0V5LSbbfdNuSVBH/84x81btw4Qz1yjoFJC7fffrttx0jbYqSrq0uffvrp4OeTJ0/qww8/1LXXXquSkhKDPUs+a9as0datW7Vjxw7l5OSovb1dkuR2uzV69GjDvUtOjz/+uCorK1VcXKzz58/r1VdfVUNDw5CZSfDLyckZMgbp6quv1tixYxmbFMIjjzyipUuXqqSkRB0dHfr5z3+uzs5OrVy50nTXktLDDz+suXPn6he/+IW++93v6oMPPlBNTY1qampMdy2pXbx4UbW1tVq5cqUyM20sGXxpavfu3T5JQ5aVK1ea7lrSCXadJPlqa2tNdy1p/fCHP/SNGzfON2rUKN/111/vW7Roke+dd94x3S1HmT9/vu/BBx803Y2kdffdd/sKCgp8I0eO9BUWFvruvPNO35EjR0x3K6m98cYbvmnTpvmysrJ8X/3qV301NTWmu5T03n77bZ8k37Fjx2w9jsvn8/nsK3UAAADCYwArAAAwimIEAAAYRTECAACMohgBAABGUYwAAACjKEYAAIBRFCMAAMAoihEAAGAUxQgAADCKYgQAABhFMQIAAIyiGAEAAEb9P3QkSnnXQXSbAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1], color=\"red\", marker=\"o\")\n",
    "plt.scatter(X[y==1,0], X[y==1,1], color=\"blue\", marker=\"+\")\n",
    "plt.scatter(X[y==2,0], X[y==2,1], color=\"green\", marker=\"x\")\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "py_test",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
